package com.jt.provider.interceptor;

import org.springframework.web.servlet.HandlerInterceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.time.LocalTime;

/**
 * Spring MVC 中的拦截器对象,
 * 此对象可以在你执行目标Controller方法之前执行
 */
public class TimeInterceptor implements HandlerInterceptor {
    /**
     * 此方法在你执行的目标Controller方法之前执行
     * @return 返回值true表示放行,可以继续执行request的后续业务
     */
    @Override
    public boolean preHandle(HttpServletRequest request,
                             HttpServletResponse response,
                             Object handler) throws Exception {
        System.out.println("===preHandle===");
        //业务:允许在8点之后,晚9点之前可访问
        LocalTime now = LocalTime.now();//获取当前时间,
        int hour = now.getHour();//获取当前时间的小时单位
        if(hour<8||hour>=21)
            throw new RuntimeException("请在规定时间访问8~21");
        return true;
    }
}
